// pages/myinfo/myinfo.js
import { userinfo, editProfile } from '../../api/userinfo'
const dayjs = require("dayjs");

Page({

    /**
     * 页面的初始数据
     */
    data: {
        birthday:'',
        gender:'',
        photo:'',
        name:'',
        showName:false,
        showGender:false,
        showBirthday:false,
        columns: ['男', '女'],

        currentDate: new Date().getTime(),
        minDate: new Date(1990,1,1).getTime(),
        maxDate: new Date().getTime(),
        formatter(type, value) {
          if (type === 'year') {
            return `${value}`;
          }
          if (type === 'month') {
            return `${value}`;
          }
          return value;
        },
    },

    // 获取用户个人信息
    async getUserInfo() {
        const res = await userinfo()
        console.log(res);
        this.setData({
            birthday:res.data.birthday,
            gender:res.data.gender,
            photo:res.data.photo,
            name:res.data.name,
            currentDate:new Date(res.data.birthday.replace(/[^0-9]/g, ',')).getTime()
        })
    },

   

    // 显示各个弹出层
    showName() {
        this.setData({ showName : true });
      },
    showGender() {
        this.setData({ showGender : true });
      },
    showBirthday() {
        this.setData({ showBirthday : true });
      },
    
    //   关闭取消弹出显示
    onClose() {
        this.setData({ 
            showName:false,
            showBirthday:false,
            showGender:false
         });
      },
    // 点击弹出框取消按钮隐藏弹出框
    onClickLeft() {
        this.setData({
            showName:false,
            showGender:false,
            showBirthday:false,
        })
      },
    // 绑定修改的昵称
    onChange(e) {
        this.setData({
            name:e.detail
        })
    },
    // 发送各种请求修改用户信息
    // 修改昵称
    async onChangeName(){
        await editProfile({name:this.data.name})
        this.getUserInfo()
        this.setData({
            showName:false,
        })
    },
    // 修改性别
    async onChangeGender(e){
        console.log(e.detail.index);
        await editProfile({gender:e.detail.index})
        this.getUserInfo()
        this.setData({
            showGender:false,
        })
    },
    // 修改生日
    async onChangeBirthday(e){
        const data = dayjs(e.detail).format("YYYY-MM-DD")
        await editProfile({birthday:data})

        this.getUserInfo()
        this.setData({
            showBirthday:false
        })
        
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.getUserInfo()
        
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})